版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 4.0
开始学习第六章《语句》
1、简单语句
空语句
1 | ; |
只有一个分号。在某些条件下使用,如从输入流读入数据,而不需操作:1
2while (cin >> s && s != "abc")
; // null statement
使用空语句时最好加上注释
1 | a = b + 1;; |
看似非法的分号,其实是一个空语句。但并不意味着就能随便使用,如
1 | while (iter != vec.end()) ; // while循环体为空 |
会无限循环。
复合语句(块)
用花括号括起来的语句序列(也可能为空)。如 for 和 while
1 | while (cin >> trans) |
else
分支需要用块语句。
块语句并不是以分号结束
也可以是 空块
1 | while (cin >> s && s != "abc") |
语句作用域
1 | while (int i = get_num()) |
i
超出了作用域。
控制结构中引入的变量是局部变量,仅在块语句结束前有效。
1 | for (vector<int>::size_type index = 0; |
如果要在控制语句外访问,则需定义在控制语句外1
2
3
4
5
6
7
8
9vector<int>::size_type index = 0
for (; index != vec.size(); ++index)
{
int square = 0;
if (index % 2)
square = index * index;
vec[index] = square;
}
if (index != vec.size()) // ok
2、if语句
if语句1
2
3
4
5
6
7
8
9
10
11
12if (condition1)
{
statement1
}
else if (condition2)
{
staement2
}
else
{
staement3
}
目前为止,除了 vector 和 string 类型一般不可作为条件外,均可作为if语句的条件,包括 IO 类型。
各分支语句用
{}
括起来是一个好的习惯
if语句可以嵌套
例如,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16if (condition1)
{
if (condition2)
{
statement1
}
else
{
staement2
}
}
else
{
// use if statement here also valid
staement3
}
END.
Github Pages同步更新: Humooo’s Blog